﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Teal.Compiler {

    /// <summary>
    /// 表示编译器内部错误。
    /// </summary>
    public class InternalErrorException : Exception {

        public InternalErrorException(object d, Exception m) {

        }

        public InternalErrorException()
            : base("Internal error") {
        }

        public InternalErrorException(string message)
            : base(message) {
        }

        public InternalErrorException(string message, params object[] args)
            : base(String.Format(message, args)) {
        }

        public InternalErrorException(Exception exception, string message, params object[] args)
            : base(String.Format(message, args), exception) {
        }

        public InternalErrorException(Exception e, Location2 loc)
            : base(loc.ToString(), e) {
        }
    }

    /// <summary>
    /// 表示一个编译器致命错误。
    /// </summary>
    public sealed class FatalException : InternalErrorException {

        public FatalException(string message)
            : base(message) {
        }

    }

}
